<html>
<head><meta charset="utf-8"><title>meeting 2021-03-02 · project-const-generics · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/index.html">project-const-generics</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html">meeting 2021-03-02</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="227911562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227911562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227911562">(Feb 26 2021 at 11:01)</a>:</h4>
<p>I want to take the next meeting to talk about stuff we can stabilize without depending on lazy norm</p>



<a name="227911748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227911748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227911748">(Feb 26 2021 at 11:03)</a>:</h4>
<p>also, <span class="user-mention" data-user-id="116009">@nikomatsakis</span> do you want to discuss alternatives to <code>WithOptConstParam</code> that meeting?</p>



<a name="227914777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227914777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227914777">(Feb 26 2021 at 11:32)</a>:</h4>
<p>notes: <a href="https://hackmd.io/Qsf0f8fHRjW099Q8960psQ">https://hackmd.io/Qsf0f8fHRjW099Q8960psQ</a></p>



<a name="227986131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227986131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227986131">(Feb 26 2021 at 20:14)</a>:</h4>
<p>sounds good, but I have to actually hav a proposal, I suppose</p>



<a name="227991263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227991263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227991263">(Feb 26 2021 at 20:47)</a>:</h4>
<p>would be useful ^^</p>



<a name="227991360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227991360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227991360">(Feb 26 2021 at 20:48)</a>:</h4>
<p>i currently have a rough idea for work in progress query results which can be created and accessed while inside of a query</p>



<a name="227991403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227991403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227991403">(Feb 26 2021 at 20:48)</a>:</h4>
<p>which should be able to replace <code>WithOptConstParam</code></p>



<a name="227991469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227991469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227991469">(Feb 26 2021 at 20:49)</a>:</h4>
<p>but is slightly more complex <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span> and i am not sure how to extend that for generic const param types</p>



<a name="227991497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/227991497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#227991497">(Feb 26 2021 at 20:49)</a>:</h4>
<p>so it might not be work it</p>



<a name="228004975"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228004975" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228004975">(Feb 26 2021 at 22:24)</a>:</h4>
<p>s/work/worth</p>



<a name="228429659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228429659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228429659">(Mar 02 2021 at 15:34)</a>:</h4>
<p>hi <span class="user-group-mention" data-user-group-id="3805">@project-const-generics</span> meeting in ~10 min</p>



<a name="228431602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228431602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228431602">(Mar 02 2021 at 15:45)</a>:</h4>
<p>okay, i guess it's meeting time everybody <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="228431720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228431720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228431720">(Mar 02 2021 at 15:46)</a>:</h4>
<p>howdy</p>



<a name="228431733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228431733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228431733">(Mar 02 2021 at 15:46)</a>:</h4>
<p>hewwo everyone</p>



<a name="228431837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228431837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228431837">(Mar 02 2021 at 15:46)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> were you able to prepare something?</p>



<a name="228431888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228431888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228431888">(Mar 02 2021 at 15:47)</a>:</h4>
<p>No, but I'm game to talk about it</p>



<a name="228431950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228431950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228431950">(Mar 02 2021 at 15:47)</a>:</h4>
<p>hm, let's start with the other part of this meeting then</p>



<a name="228431988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228431988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228431988">(Mar 02 2021 at 15:47)</a>:</h4>
<p>OK. Sorry, very busy weeks</p>



<a name="228432004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432004">(Mar 02 2021 at 15:47)</a>:</h4>
<p>think there's more to do there</p>



<a name="228432142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432142">(Mar 02 2021 at 15:48)</a>:</h4>
<p>is this the notes in the hackmd?</p>



<a name="228432156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432156">(Mar 02 2021 at 15:48)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/227914777">said</a>:</p>
<blockquote>
<p>notes: <a href="https://hackmd.io/Qsf0f8fHRjW099Q8960psQ">https://hackmd.io/Qsf0f8fHRjW099Q8960psQ</a></p>
</blockquote>
<p>once again, going through this</p>



<a name="228432246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432246">(Mar 02 2021 at 15:49)</a>:</h4>
<p>even after we finished the impl work for the current lazy norm issues</p>



<a name="228432287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432287">(Mar 02 2021 at 15:49)</a>:</h4>
<p>i still want to keep it unstable for a few versions</p>



<a name="228432313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432313">(Mar 02 2021 at 15:49)</a>:</h4>
<p>cause it seems like a backcompat minefield</p>



<a name="228432374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432374">(Mar 02 2021 at 15:49)</a>:</h4>
<p>so it makes sense to figure out what we can do in the meantime <span aria-label="sparkles" class="emoji emoji-2728" role="img" title="sparkles">:sparkles:</span></p>



<a name="228432387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432387">(Mar 02 2021 at 15:49)</a>:</h4>
<p>hmm i see there are some topics i've not caught up on</p>



<a name="228432408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432408">(Mar 02 2021 at 15:50)</a>:</h4>
<p>i'm curious to know what came out from <a class="stream-topic" data-stream-id="260443" href="/#narrow/stream/260443-project-const-generics/topic/lazy.20norm.20unused.20substs">#project-const-generics &gt; lazy norm unused substs</a> etc</p>



<a name="228432486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432486">(Mar 02 2021 at 15:50)</a>:</h4>
<p>just a few sentences would do :)</p>



<a name="228432508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432508">(Mar 02 2021 at 15:50)</a>:</h4>
<p>not much yet, i have a slightly better idea on how i am going to implement this</p>



<a name="228432549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432549">(Mar 02 2021 at 15:50)</a>:</h4>
<p>will take some time this weekend</p>



<a name="228432558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432558">(Mar 02 2021 at 15:50)</a>:</h4>
<p>ok, still a "work in progress"</p>



<a name="228432569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432569">(Mar 02 2021 at 15:50)</a>:</h4>
<p>yeah</p>



<a name="228432582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432582">(Mar 02 2021 at 15:50)</a>:</h4>
<p>i think we can actually do this without modifying hir lowering</p>



<a name="228432600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432600">(Mar 02 2021 at 15:50)</a>:</h4>
<p>which is really nice</p>



<a name="228432683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432683">(Mar 02 2021 at 15:51)</a>:</h4>
<p>"this" = the unused subs work?</p>



<a name="228432712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432712">(Mar 02 2021 at 15:51)</a>:</h4>
<p>jup</p>



<a name="228432730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432730">(Mar 02 2021 at 15:51)</a>:</h4>
<p>the unused substs work</p>



<a name="228432737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432737">(Mar 02 2021 at 15:51)</a>:</h4>
<p>if it's ok with you I'm going to mark those topics as read</p>



<a name="228432750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432750">(Mar 02 2021 at 15:51)</a>:</h4>
<p><span aria-label="thumbs up" class="emoji emoji-1f44d" role="img" title="thumbs up">:thumbs_up:</span></p>



<a name="228432757"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432757" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432757">(Mar 02 2021 at 15:51)</a>:</h4>
<p>and rely on you to tell me if there's any questions i can help with:)</p>



<a name="228432798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432798">(Mar 02 2021 at 15:52)</a>:</h4>
<p>ok, let's carry on then</p>



<a name="228432909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432909">(Mar 02 2021 at 15:52)</a>:</h4>
<blockquote>
<ul>
<li>loosen the ty/const param ordering restriction</li>
<li>const param defaults<br>
     - const evaluatable bounds?<br>
      - start out by not supplying any generic params?</li>
</ul>
</blockquote>



<a name="228432996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228432996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228432996">(Mar 02 2021 at 15:53)</a>:</h4>
<p>not supplying any params could lead to backwards compat issues right?</p>



<a name="228433037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433037">(Mar 02 2021 at 15:53)</a>:</h4>
<p>yes</p>



<a name="228433079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433079">(Mar 02 2021 at 15:53)</a>:</h4>
<p>the same backcompat issues we already have for array lengths and other const args</p>



<a name="228433149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433149">(Mar 02 2021 at 15:54)</a>:</h4>
<p>so i don't think that's a big concern</p>



<a name="228433212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433212">(Mar 02 2021 at 15:54)</a>:</h4>
<p>i guess the question is whether we do want to allow <code>struct Foo&lt;const N: usize, const M: usize = N&gt;</code></p>



<a name="228433279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433279">(Mar 02 2021 at 15:54)</a>:</h4>
<p>when you ask that do you mean like, immediately, or like eventually?</p>



<a name="228433292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433292">(Mar 02 2021 at 15:55)</a>:</h4>
<p>and how much t-lang input is needed here</p>



<a name="228433307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433307">(Mar 02 2021 at 15:55)</a>:</h4>
<p>immediately</p>



<a name="228433365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433365">(Mar 02 2021 at 15:55)</a>:</h4>
<p>i would like to stabilize this in the next few months</p>



<a name="228433400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433400">(Mar 02 2021 at 15:55)</a>:</h4>
<p>allowing const M: usize = N would mean we have to supply generics right?</p>



<a name="228433413"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433413" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433413">(Mar 02 2021 at 15:55)</a>:</h4>
<p>and want to figure out what exactly we want to stabilize here</p>



<a name="228433430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433430">(Mar 02 2021 at 15:55)</a>:</h4>
<p><span class="user-mention silent" data-user-id="326176">Boxy</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228433400">said</a>:</p>
<blockquote>
<p>allowing const M: usize = N would mean we have to supply generics right?</p>
</blockquote>
<p>^^</p>



<a name="228433458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433458">(Mar 02 2021 at 15:55)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228433079">said</a>:</p>
<blockquote>
<p>the same backcompat issues we already have for array lengths and other const args</p>
</blockquote>
<p>can you spell this out for me a bit?</p>



<a name="228433615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433615">(Mar 02 2021 at 15:56)</a>:</h4>
<blockquote>
<p>allowing const M: usize = N would mean we have to supply generics right?</p>
</blockquote>
<p>nah, we can use the same hack we already use for const args rn.</p>



<a name="228433670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433670">(Mar 02 2021 at 15:56)</a>:</h4>
<blockquote>
<p>can you spell this out for me a bit?</p>
</blockquote>
<p>introducing predicates can change type inference</p>



<a name="228433703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433703">(Mar 02 2021 at 15:57)</a>:</h4>
<p>the <code>u8: Trait</code> and <code>u8::ASSOC</code> example</p>



<a name="228433823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433823">(Mar 02 2021 at 15:57)</a>:</h4>
<p>ok.</p>



<a name="228433873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433873">(Mar 02 2021 at 15:57)</a>:</h4>
<p>ok, I see</p>



<a name="228433950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228433950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228433950">(Mar 02 2021 at 15:58)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228433615">said</a>:</p>
<blockquote>
<blockquote>
<p>allowing const M: usize = N would mean we have to supply generics right?</p>
</blockquote>
<p>nah, we can use the same hack we already use for const args rn.</p>
</blockquote>
<p>what hack is this?</p>



<a name="228434026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hameer Abbasi <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434026">(Mar 02 2021 at 15:58)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228433703">said</a>:</p>
<blockquote>
<p>the <code>u8: Trait</code> and <code>u8::ASSOC</code> example</p>
</blockquote>
<p>Can you paste in the example?</p>



<a name="228434028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434028">(Mar 02 2021 at 15:58)</a>:</h4>
<blockquote>
<p>what hack is this?</p>
</blockquote>
<p>will answer that after the meeting cause it's a bit more complicated</p>



<a name="228434045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434045">(Mar 02 2021 at 15:58)</a>:</h4>
<p>okay :)</p>



<a name="228434049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434049">(Mar 02 2021 at 15:58)</a>:</h4>
<p>remind me if i forget</p>



<a name="228434064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434064">(Mar 02 2021 at 15:58)</a>:</h4>
<p>sure</p>



<a name="228434177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434177">(Mar 02 2021 at 15:59)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">trait</span><span class="w"> </span><span class="n">Trait</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">const</span><span class="w"> </span><span class="n">ASSOC_CONST</span>: <span class="kt">usize</span> <span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">impl</span><span class="w"> </span><span class="n">Trait</span><span class="o">&lt;</span><span class="p">()</span><span class="o">&gt;</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="kt">u8</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="c1">// `u8::ASSOC_CONST` is resolved today, but will be ambiguous</span>
<span class="c1">// under lazy normalization.</span>
<span class="k">fn</span> <span class="nf">foo</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span><span class="w"> </span><span class="n">U</span><span class="o">&gt;</span><span class="p">()</span><span class="w"> </span>-&gt; <span class="p">[(</span><span class="n">T</span><span class="p">,</span><span class="w"> </span><span class="n">U</span><span class="p">);</span><span class="w"> </span><span class="kt">u8</span>::<span class="n">ASSOC_CONST</span><span class="p">]</span><span class="w"></span>
<span class="k">where</span><span class="w"></span>
<span class="w">    </span><span class="kt">u8</span>: <span class="nc">Trait</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">Trait</span><span class="o">&lt;</span><span class="n">U</span><span class="o">&gt;</span><span class="p">,</span><span class="w"></span>
<span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="fm">todo!</span><span class="p">()</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>
</code></pre></div>



<a name="228434473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434473">(Mar 02 2021 at 16:01)</a>:</h4>
<p>so the example with defaults would be something like</p>



<a name="228434510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434510">(Mar 02 2021 at 16:01)</a>:</h4>
<p><code>const M: usize = u8::ASSOC_CONST</code></p>



<a name="228434518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434518">(Mar 02 2021 at 16:01)</a>:</h4>
<p>yeah</p>



<a name="228434560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434560">(Mar 02 2021 at 16:01)</a>:</h4>
<p>i don't actually know how parsing works for const param defaults</p>



<a name="228434571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434571">(Mar 02 2021 at 16:01)</a>:</h4>
<p>so you might need braces here</p>



<a name="228434573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434573">(Mar 02 2021 at 16:01)</a>:</h4>
<p>why did the "loosen the ty/const param ordering restriction" restriction exist again?</p>



<a name="228434630"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434630" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434630">(Mar 02 2021 at 16:02)</a>:</h4>
<p>because we originally assumed type params to come first in a few places</p>



<a name="228434691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434691">(Mar 02 2021 at 16:02)</a>:</h4>
<p>so there were some ICE when loosening it</p>



<a name="228434705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434705">(Mar 02 2021 at 16:02)</a>:</h4>
<p>i see</p>



<a name="228434725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434725">(Mar 02 2021 at 16:02)</a>:</h4>
<p>so this was just a matter of refactoring the compiler, nothing deeper</p>



<a name="228434787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hameer Abbasi <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434787">(Mar 02 2021 at 16:02)</a>:</h4>
<blockquote>
<p>just a matter</p>
</blockquote>
<p><span aria-label="flushed" class="emoji emoji-1f633" role="img" title="flushed">:flushed:</span></p>



<a name="228434789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434789">(Mar 02 2021 at 16:02)</a>:</h4>
<p>by accident a saw a recent discussion on internals about this</p>



<a name="228434879"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434879" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434879">(Mar 02 2021 at 16:03)</a>:</h4>
<p><a href="https://internals.rust-lang.org/t/const-generics-and-defaults/14138/23">https://internals.rust-lang.org/t/const-generics-and-defaults/14138/23</a> this?</p>



<a name="228434982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228434982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228434982">(Mar 02 2021 at 16:03)</a>:</h4>
<p>yeah, there it was proposed that keeping the ordering restriction is useful</p>



<a name="228435110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435110">(Mar 02 2021 at 16:04)</a>:</h4>
<p>I'm not sure what makes it useful</p>



<a name="228435166"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435166" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435166">(Mar 02 2021 at 16:04)</a>:</h4>
<p>i also don't think it improves readability by much</p>



<a name="228435176"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435176" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435176">(Mar 02 2021 at 16:04)</a>:</h4>
<p>which i think is their argument</p>



<a name="228435183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435183">(Mar 02 2021 at 16:04)</a>:</h4>
<p>I'd kind of argue the opposite</p>



<a name="228435228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435228">(Mar 02 2021 at 16:04)</a>:</h4>
<p>however</p>



<a name="228435278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435278">(Mar 02 2021 at 16:05)</a>:</h4>
<p>I have a question, what is the ordering of lifetimes w/r/t types/generics planned to be?</p>



<a name="228435322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435322">(Mar 02 2021 at 16:05)</a>:</h4>
<p>I think in my ideal world, everything would be interchangeable</p>



<a name="228435330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435330">(Mar 02 2021 at 16:05)</a>:</h4>
<p>rn it's lt, then consts and types</p>



<a name="228435356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435356">(Mar 02 2021 at 16:05)</a>:</h4>
<p>ok</p>



<a name="228435395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435395">(Mar 02 2021 at 16:05)</a>:</h4>
<p>it's sort of orthogonal</p>



<a name="228435438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435438">(Mar 02 2021 at 16:05)</a>:</h4>
<p>yeah ^^ i think that keeping lt first can be helpful</p>



<a name="228435456"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435456" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435456">(Mar 02 2021 at 16:05)</a>:</h4>
<p>or at least it's not detrimental</p>



<a name="228435476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435476">(Mar 02 2021 at 16:06)</a>:</h4>
<p>they feel sufficiently different to me</p>



<a name="228435530"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435530" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435530">(Mar 02 2021 at 16:06)</a>:</h4>
<p>if we want consts to be explicit we could mandate wrapping in {}</p>



<a name="228435586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435586">(Mar 02 2021 at 16:06)</a>:</h4>
<p>foo&lt;T, {T}&gt;</p>



<a name="228435642"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435642" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435642">(Mar 02 2021 at 16:06)</a>:</h4>
<p>(if theres any parsing issues)</p>



<a name="228435684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435684">(Mar 02 2021 at 16:07)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228435438">said</a>:</p>
<blockquote>
<p>yeah ^^ i think that keeping lt first can be helpful</p>
</blockquote>
<p>for now it's fine</p>



<a name="228435751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435751">(Mar 02 2021 at 16:07)</a>:</h4>
<p>do you think just having a stabilization report is enough here for t-lang?</p>



<a name="228435758"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435758" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hameer Abbasi <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435758">(Mar 02 2021 at 16:07)</a>:</h4>
<p><span class="user-mention silent" data-user-id="326176">Boxy</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228435530">said</a>:</p>
<blockquote>
<p>if we want consts to be explicit we could mandate wrapping in {}</p>
</blockquote>
<p>I believe that would break BC with <code>min_const_generics</code>.</p>



<a name="228435780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435780">(Mar 02 2021 at 16:07)</a>:</h4>
<p>right</p>



<a name="228435787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435787">(Mar 02 2021 at 16:07)</a>:</h4>
<p>too late for that rip</p>



<a name="228435799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435799">(Mar 02 2021 at 16:07)</a>:</h4>
<p>we already require braces if there is ambiguity</p>



<a name="228435852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435852">(Mar 02 2021 at 16:08)</a>:</h4>
<p>the big example is <code>const N: ()</code></p>



<a name="228435915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435915">(Mar 02 2021 at 16:08)</a>:</h4>
<p>which is part of why we didn't stabilize it together with the other builtin types</p>



<a name="228435952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228435952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228435952">(Mar 02 2021 at 16:08)</a>:</h4>
<p><code>foo::&lt;()&gt;</code> currently always resolves <code>()</code> to a type</p>



<a name="228436032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436032">(Mar 02 2021 at 16:09)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228435751">said</a>:</p>
<blockquote>
<p>do you think just having a stabilization report is enough here for t-lang?</p>
</blockquote>
<p>for those two items? yes, I expect so.</p>



<a name="228436082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436082">(Mar 02 2021 at 16:09)</a>:</h4>
<p>nice <span aria-label="thumbs up" class="emoji emoji-1f44d" role="img" title="thumbs up">:thumbs_up:</span></p>



<a name="228436100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436100">(Mar 02 2021 at 16:09)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228435915">said</a>:</p>
<blockquote>
<p>which is part of why we didn't stabilize it together with the other builtin types</p>
</blockquote>
<p>this doesn't seem like a big problem</p>



<a name="228436153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436153">(Mar 02 2021 at 16:09)</a>:</h4>
<p>it is kind of annoying</p>



<a name="228436232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436232">(Mar 02 2021 at 16:10)</a>:</h4>
<p>I guess the first question is why you would expect people to have unit constants :)</p>



<a name="228436252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436252">(Mar 02 2021 at 16:10)</a>:</h4>
<ul>
<li><code>_</code> as array len and const argument<br>
    - rn always gets interpreted as a type<br>
    - add <code>hir::GenericArg::Infer</code><br>
    - should we go ahead and solve this for paths/unit(<code>()</code>) at the same time?</li>
</ul>



<a name="228436267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436267">(Mar 02 2021 at 16:10)</a>:</h4>
<blockquote>
<ul>
<li>should we go ahead and solve this for paths/unit(()) at the same time?</li>
</ul>
</blockquote>



<a name="228436296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436296">(Mar 02 2021 at 16:10)</a>:</h4>
<p>something worth covering in the stability report would be the back-compat implications, and what we are deciding</p>



<a name="228436310"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436310" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436310">(Mar 02 2021 at 16:10)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228436232">said</a>:</p>
<blockquote>
<p>I guess the first question is why you would expect people to have unit constants :)</p>
</blockquote>
<p>because they write compiler tests</p>



<a name="228436349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436349">(Mar 02 2021 at 16:10)</a>:</h4>
<p><span aria-label="sparkles" class="emoji emoji-2728" role="img" title="sparkles">:sparkles:</span></p>



<a name="228436351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hameer Abbasi <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436351">(Mar 02 2021 at 16:10)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228436232">said</a>:</p>
<blockquote>
<p>I guess the first question is why you would expect people to have unit constants :)</p>
</blockquote>
<p>It could turn out to be a generalisation of other cases, potentially. E.g. All tuples.</p>



<a name="228436420"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436420" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436420">(Mar 02 2021 at 16:11)</a>:</h4>
<p>I just don't expect it to come up that much in practice except for generated code</p>



<a name="228436450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436450">(Mar 02 2021 at 16:11)</a>:</h4>
<p>that said, it's not hard to imagine us fixing this</p>



<a name="228436586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436586">(Mar 02 2021 at 16:12)</a>:</h4>
<p>yeah, i personally add a <code>TyOrConst</code> variant to <code>hir::GenericArg</code></p>



<a name="228436612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436612">(Mar 02 2021 at 16:12)</a>:</h4>
<p>if something is both a valid type and a valid const</p>



<a name="228436726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436726">(Mar 02 2021 at 16:13)</a>:</h4>
<blockquote>
<p><code>_</code> as array len and const argument</p>
</blockquote>
<p>i do think allowing that is really desirable and probably also needs "just" a stabilization report</p>



<a name="228436744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436744">(Mar 02 2021 at 16:13)</a>:</h4>
<p>say more about it</p>



<a name="228436773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436773">(Mar 02 2021 at 16:13)</a>:</h4>
<p>like, give some examples of what you would expect to stabilize</p>



<a name="228436854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436854">(Mar 02 2021 at 16:14)</a>:</h4>
<p>oh also--- I should add-----</p>



<a name="228436872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436872">(Mar 02 2021 at 16:14)</a>:</h4>
<p>this is a 'planning meeting' week for lang team</p>



<a name="228436902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436902">(Mar 02 2021 at 16:14)</a>:</h4>
<p>I've got some work to do to figure out how to report things, but I'd like us to note some updates for folks</p>



<a name="228436954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436954">(Mar 02 2021 at 16:14)</a>:</h4>
<p>(<a href="https://blog.rust-lang.org/inside-rust/2021/02/03/lang-team-feb-update.html">blog post from last month's planning meeting</a>)</p>



<a name="228436981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228436981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228436981">(Mar 02 2021 at 16:15)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">fn</span> <span class="nf">foo</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">N</span>: <span class="kt">usize</span><span class="o">&gt;</span><span class="p">(</span><span class="n">x</span>: <span class="p">[</span><span class="n">T</span><span class="p">;</span><span class="w"> </span><span class="n">N</span><span class="p">])</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">fn</span> <span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">foo</span>::<span class="o">&lt;</span><span class="kt">u64</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="o">&gt;</span><span class="p">([</span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">N</span><span class="p">]);</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="228437247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437247">(Mar 02 2021 at 16:16)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228436773">said</a>:</p>
<blockquote>
<p>like, give some examples of what you would expect to stabilize</p>
</blockquote>
<p>so like, wherever we allow users to write <code>_</code> instead of a type argument we also allow <code>_</code> instead of a const argument or array length</p>



<a name="228437280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437280">(Mar 02 2021 at 16:16)</a>:</h4>
<p>ok</p>



<a name="228437284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437284">(Mar 02 2021 at 16:16)</a>:</h4>
<p>in particular this does not include</p>



<a name="228437307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437307">(Mar 02 2021 at 16:16)</a>:</h4>
<p><code>const T: [u64; _] = [1, 2, 3]</code>?</p>



<a name="228437362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437362">(Mar 02 2021 at 16:17)</a>:</h4>
<p>yes, that's separate <em>and not included</em></p>



<a name="228437385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437385">(Mar 02 2021 at 16:17)</a>:</h4>
<p>and slightly more contentious</p>



<a name="228437412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437412">(Mar 02 2021 at 16:17)</a>:</h4>
<p>(deleted)</p>



<a name="228437564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437564">(Mar 02 2021 at 16:18)</a>:</h4>
<p>OK</p>



<a name="228437622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437622">(Mar 02 2021 at 16:18)</a>:</h4>
<p>And I can see why a similar refactoring mgiht permit <code>()</code> to work</p>



<a name="228437651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437651">(Mar 02 2021 at 16:18)</a>:</h4>
<p>is this a hir-lowering time thing?</p>



<a name="228437720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437720">(Mar 02 2021 at 16:18)</a>:</h4>
<p><a href="https://hackmd.io/JNh7ltdLTpq-nbARUctHoA">planning meeting agenda doc i just created</a></p>



<a name="228437734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437734">(Mar 02 2021 at 16:18)</a>:</h4>
<p>I'm taking a few notes in there</p>



<a name="228437748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437748">(Mar 02 2021 at 16:18)</a>:</h4>
<p>I still have to iron out the process here</p>



<a name="228437795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437795">(Mar 02 2021 at 16:18)</a>:</h4>
<p>yeah, we currently have to decide whether something is a type or const argument during hir building</p>



<a name="228437982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228437982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228437982">(Mar 02 2021 at 16:19)</a>:</h4>
<p>(or we actually have to do so when building the ast, but convert some types to constants when building hir depending on name resolution)</p>



<a name="228438046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438046">(Mar 02 2021 at 16:19)</a>:</h4>
<p>it seems like this could be a problem with GATs</p>



<a name="228438088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438088">(Mar 02 2021 at 16:19)</a>:</h4>
<p>e.g., <code>T::Foo&lt;()&gt;</code></p>



<a name="228438234"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438234" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438234">(Mar 02 2021 at 16:20)</a>:</h4>
<p>what's the issue here?</p>



<a name="228438273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438273">(Mar 02 2021 at 16:20)</a>:</h4>
<p>right now, at least, we handle the resolution of <code>T::Foo</code> during type checking</p>



<a name="228438295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438295">(Mar 02 2021 at 16:21)</a>:</h4>
<p>in the HIR, we just lower it to a "type relative path"</p>



<a name="228438404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438404">(Mar 02 2021 at 16:21)</a>:</h4>
<p>so we would not know yet what kinds of arguments <code>Foo</code> expects</p>



<a name="228438412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438412">(Mar 02 2021 at 16:21)</a>:</h4>
<p>as we do not know what trait it comes from</p>



<a name="228438450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438450">(Mar 02 2021 at 16:21)</a>:</h4>
<p>I am not sure how this works with defaults-- I guess it's a moot point, we never accept defaults in that position probably</p>



<a name="228438455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438455">(Mar 02 2021 at 16:21)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228437795">said</a>:</p>
<blockquote>
<p>yeah, we currently have to decide whether something is a type or const argument during hir building</p>
</blockquote>
<p>ah, we decide this without knowing how it is used</p>



<a name="228438535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438535">(Mar 02 2021 at 16:22)</a>:</h4>
<p>so, the whole point of the <code>()</code> and <code>_</code> change, I would expect, is to change that?</p>



<a name="228438558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438558">(Mar 02 2021 at 16:22)</a>:</h4>
<p>so i don't think that <code>T::Foo</code> is a huge concern here</p>



<a name="228438589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438589">(Mar 02 2021 at 16:22)</a>:</h4>
<p>i.e., those could play either role</p>



<a name="228438639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438639">(Mar 02 2021 at 16:22)</a>:</h4>
<p>my goal is to keep this ambiguous until we're actually in <code>ast_ty_to_ty</code></p>



<a name="228438643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438643">(Mar 02 2021 at 16:22)</a>:</h4>
<p>side note that if we accept <code>()</code> I would probably expect to accept any tuple</p>



<a name="228438678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438678">(Mar 02 2021 at 16:23)</a>:</h4>
<p>ok, that should be fine. So we <em>don't</em> decide during HIR lowering</p>



<a name="228438702"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438702" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438702">(Mar 02 2021 at 16:23)</a>:</h4>
<p>but rather during type collection</p>



<a name="228438784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438784">(Mar 02 2021 at 16:23)</a>:</h4>
<p>yeah, hopefully keeping stuff ambiguous doesn't end up being too much of a hack</p>



<a name="228438886"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438886" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438886">(Mar 02 2021 at 16:24)</a>:</h4>
<p>have to check if there are any potentially worrying hir visitors</p>



<a name="228438890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438890">(Mar 02 2021 at 16:24)</a>:</h4>
<p>const generics is turning out to be the feature of  "we should delay doing X"</p>



<a name="228438895"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438895" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438895">(Mar 02 2021 at 16:24)</a>:</h4>
<p><span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="228438955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228438955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228438955">(Mar 02 2021 at 16:24)</a>:</h4>
<p>having more information makes a lot of stuff much easier ^^</p>



<a name="228439105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439105">(Mar 02 2021 at 16:25)</a>:</h4>
<ul>
<li>const param types<br>
    - without val trees<br>
        - c like enums? seems quite helpful and should already work<br>
    - val trees <span aria-label="sparkles" class="emoji emoji-2728" role="img" title="sparkles">:sparkles:</span> <br>
    - generic param types<br>
        - requires changes to <code>WithOptConstParam</code><br>
    - what types are allowed? <br>
        - structural match<br>
        - do we require explicit opt in? <a href="https://github.com/rust-lang/project-const-generics/issues/6">pcg issue</a></li>
</ul>



<a name="228439108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439108">(Mar 02 2021 at 16:25)</a>:</h4>
<p>were you planning to "special case" <code>()</code>?</p>



<a name="228439179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439179">(Mar 02 2021 at 16:26)</a>:</h4>
<p>i was considering it</p>



<a name="228439215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439215">(Mar 02 2021 at 16:26)</a>:</h4>
<p>I'd rather handle tuples altogether; not sure how much harder that would be</p>



<a name="228439229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439229">(Mar 02 2021 at 16:26)</a>:</h4>
<p>the <code>()</code> issue would happen for any user defined ZST right?</p>



<a name="228439250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439250">(Mar 02 2021 at 16:26)</a>:</h4>
<p>no, not really</p>



<a name="228439259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439259">(Mar 02 2021 at 16:26)</a>:</h4>
<p><code>()</code> is not a valid value for a user-defined ZST</p>



<a name="228439279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439279">(Mar 02 2021 at 16:26)</a>:</h4>
<p>I mean like</p>



<a name="228439285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439285">(Mar 02 2021 at 16:26)</a>:</h4>
<p>those would be defined by a path</p>



<a name="228439289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439289">(Mar 02 2021 at 16:26)</a>:</h4>
<p>Foo::&lt;ZST&gt;</p>



<a name="228439299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439299">(Mar 02 2021 at 16:27)</a>:</h4>
<p>and we already (presumably) permit paths to play a double role?</p>



<a name="228439326"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439326" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439326">(Mar 02 2021 at 16:27)</a>:</h4>
<p>well, <span class="user-mention" data-user-id="216206">@lcnr</span> can confirm :)</p>



<a name="228439333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439333">(Mar 02 2021 at 16:27)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228439299">said</a>:</p>
<blockquote>
<p>and we already (presumably) permit paths to play a double role?</p>
</blockquote>
<p>we don't</p>



<a name="228439366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439366">(Mar 02 2021 at 16:27)</a>:</h4>
<p>rn we always interpret paths as a type</p>



<a name="228439382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439382">(Mar 02 2021 at 16:27)</a>:</h4>
<p>if there's ambiguity</p>



<a name="228439418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439418">(Mar 02 2021 at 16:27)</a>:</h4>
<p>ok, so if you have <code>const Z: ZST = ...</code> you can do that</p>



<a name="228439484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439484">(Mar 02 2021 at 16:28)</a>:</h4>
<p>but you can't do <code>ZST</code> itself, because it has both a value and a type name?</p>



<a name="228439503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439503">(Mar 02 2021 at 16:28)</a>:</h4>
<p>jup</p>



<a name="228439528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439528">(Mar 02 2021 at 16:28)</a>:</h4>
<p>or you use <code>{ ZST }</code></p>



<a name="228439553"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439553" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439553">(Mar 02 2021 at 16:28)</a>:</h4>
<p>which always works cause <code>ZST</code> is now definitely a value</p>



<a name="228439615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439615">(Mar 02 2021 at 16:29)</a>:</h4>
<p>OK.</p>



<a name="228439629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439629">(Mar 02 2021 at 16:29)</a>:</h4>
<p>Would you potentially fix that too?</p>



<a name="228439664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439664">(Mar 02 2021 at 16:29)</a>:</h4>
<p>i would like to</p>



<a name="228439675"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439675" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439675">(Mar 02 2021 at 16:29)</a>:</h4>
<p>I guess min generics doesn't currently permit values of such types anyway</p>



<a name="228439686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439686">(Mar 02 2021 at 16:29)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228436267">said</a>:</p>
<blockquote>
<blockquote>
<ul>
<li>should we go ahead and solve this for paths/unit(()) at the same time?</li>
</ul>
</blockquote>
</blockquote>



<a name="228439691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439691">(Mar 02 2021 at 16:29)</a>:</h4>
<p>I'm trying to take some notes on what we are talking about including in a stabilization report</p>



<a name="228439803"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439803" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439803">(Mar 02 2021 at 16:30)</a>:</h4>
<p>if you didnt special case () would we expect to see code like <code>foo::&lt;{()}&gt;()</code></p>



<a name="228439854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439854">(Mar 02 2021 at 16:30)</a>:</h4>
<p>i think <span class="user-mention" data-user-id="121053">@varkor</span> and <span class="user-mention" data-user-id="119009">@eddyb</span> had <em>some concerns</em> when i tried implementing this about 8 months ago</p>



<a name="228439941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439941">(Mar 02 2021 at 16:30)</a>:</h4>
<p><span class="user-mention silent" data-user-id="326176">Boxy</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228439803">said</a>:</p>
<blockquote>
<p>if you didnt special case () would we expect to see code like <code>foo::&lt;{()}&gt;()</code></p>
</blockquote>
<p>if you can think of a valid reason to use <code>fn foo&lt;const N: ZeroSizedType&gt;</code></p>



<a name="228439992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228439992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228439992">(Mar 02 2021 at 16:31)</a>:</h4>
<p>mmm</p>



<a name="228440001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440001">(Mar 02 2021 at 16:31)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228439854">said</a>:</p>
<blockquote>
<p>i think <span class="user-mention silent" data-user-id="121053">varkor</span> and <span class="user-mention silent" data-user-id="119009">eddyb</span> had <em>some concerns</em> when i tried implementing this about 8 months ago</p>
</blockquote>
<p>to me, it doesn't seem like high priority</p>



<a name="228440156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440156">(Mar 02 2021 at 16:32)</a>:</h4>
<p>not that i'm opposed :)</p>



<a name="228440179"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440179" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Thom Chiovoloni <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440179">(Mar 02 2021 at 16:32)</a>:</h4>
<p>i can think of reasons to want <code>fn foo&lt;T, const V: T&gt;</code> to work for ZSTs, but that is likely a much further ways off</p>



<a name="228440180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440180">(Mar 02 2021 at 16:32)</a>:</h4>
<p>if it's annoying you when writing unit tests, I guess that's ok</p>



<a name="228440200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440200">(Mar 02 2021 at 16:32)</a>:</h4>
<p>it's just not something i would expect many users are encountering</p>



<a name="228440229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440229">(Mar 02 2021 at 16:32)</a>:</h4>
<p>and I don't think there are any strong back-compat concerns</p>



<a name="228440265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440265">(Mar 02 2021 at 16:33)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228440229">said</a>:</p>
<blockquote>
<p>and I don't think there are any strong back-compat concerns</p>
</blockquote>
<p>jup, i at least can't think of any</p>



<a name="228440330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Hameer Abbasi <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440330">(Mar 02 2021 at 16:33)</a>:</h4>
<p>If we had const and variadic generics, I'd be writing something in Rust and would need it. Just a data point.</p>



<a name="228440339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440339">(Mar 02 2021 at 16:33)</a>:</h4>
<p>there would be if we adopted the approach advocated for in that internals thread</p>



<a name="228440391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440391">(Mar 02 2021 at 16:33)</a>:</h4>
<p>since we'd have to know if something is a const expression</p>



<a name="228440400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440400">(Mar 02 2021 at 16:33)</a>:</h4>
<p>in order to decide if defaults apply</p>



<a name="228440484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440484">(Mar 02 2021 at 16:34)</a>:</h4>
<p>which seems like a horrible idea to me tbh <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="228440559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440559">(Mar 02 2021 at 16:34)</a>:</h4>
<p>I'd be worried about it</p>



<a name="228440583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440583">(Mar 02 2021 at 16:34)</a>:</h4>
<p>I'd rather get away from the ordering restrictions and clever defaults</p>



<a name="228440587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440587">(Mar 02 2021 at 16:34)</a>:</h4>
<p>and not embrace them</p>



<a name="228440606"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440606" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440606">(Mar 02 2021 at 16:34)</a>:</h4>
<p>ye</p>



<a name="228440640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440640">(Mar 02 2021 at 16:35)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228439105">said</a>:</p>
<blockquote>
<p>const param types</p>
<ul>
<li>without val trees<br>
    - c like enums? seems quite helpful and should already work</li>
<li>val trees <span aria-label="sparkles" class="emoji emoji-2728" role="img" title="sparkles">:sparkles:</span> </li>
<li>generic param types<br>
    - requires changes to <code>WithOptConstParam</code></li>
<li>what types are allowed? <br>
    - structural match<br>
    - do we require explicit opt in? <a href="https://github.com/rust-lang/project-const-generics/issues/6">pcg issue</a></li>
</ul>
</blockquote>



<a name="228440705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440705">(Mar 02 2021 at 16:35)</a>:</h4>
<p>ok, yes, can you elaborate what's that</p>



<a name="228440763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440763">(Mar 02 2021 at 16:35)</a>:</h4>
<p>so allowing more const param types is not dependent on lazy norm</p>



<a name="228440794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440794">(Mar 02 2021 at 16:36)</a>:</h4>
<p>but is blocked on val trees for most types</p>



<a name="228440848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440848">(Mar 02 2021 at 16:36)</a>:</h4>
<p>which <span class="user-mention" data-user-id="124288">@oli</span> can probably say a bit more about</p>



<a name="228440889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228440889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228440889">(Mar 02 2021 at 16:36)</a>:</h4>
<p>especially anything that includes references can't really work without it i think</p>



<a name="228441037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441037">(Mar 02 2021 at 16:37)</a>:</h4>
<p>I only have a loose idea what value tree is:)</p>



<a name="228441087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441087">(Mar 02 2021 at 16:37)</a>:</h4>
<p>ok I'm starting to understand this bullet list</p>



<a name="228441252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441252">(Mar 02 2021 at 16:38)</a>:</h4>
<p>i think <span class="user-mention" data-user-id="219696">@XAMPPRocky</span> is intending to use c like enums in rust-gpu</p>



<a name="228441297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441297">(Mar 02 2021 at 16:39)</a>:</h4>
<p>c-like enums seem obviously useful</p>



<a name="228441316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441316">(Mar 02 2021 at 16:39)</a>:</h4>
<p>I've also seen people who work on bevy ask about dataless enums</p>



<a name="228441339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441339">(Mar 02 2021 at 16:39)</a>:</h4>
<p>Just a remark on allowing <code>()</code> as const arguments now that I'm here: there's no real motivation specifically for this case, but we should be able to handle it as soon as we handle arbitrary paths and tuples. It's really a consequence of the delayed type/const disambiguation.</p>



<a name="228441401"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441401" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441401">(Mar 02 2021 at 16:39)</a>:</h4>
<p>yeah, so i think implementation wise we're already pretty much ready to stabize c like enums</p>



<a name="228441502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441502">(Mar 02 2021 at 16:40)</a>:</h4>
<p>what's still open is whether <code>derive(PartialEq, Eq)</code> should be enough</p>



<a name="228441504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441504">(Mar 02 2021 at 16:40)</a>:</h4>
<p>the only questions about that is whether we want it to be opt-in as to whether a type is usable as a const generic right?</p>



<a name="228441513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441513">(Mar 02 2021 at 16:40)</a>:</h4>
<p>haha</p>



<a name="228441596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441596">(Mar 02 2021 at 16:40)</a>:</h4>
<p>allowing types as const parameters adds some additional back compat requirements on these types</p>



<a name="228441626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441626">(Mar 02 2021 at 16:40)</a>:</h4>
<p>and we've already had some discussion about this in <a href="https://github.com/rust-lang/project-const-generics/issues/6">https://github.com/rust-lang/project-const-generics/issues/6</a></p>



<a name="228441655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441655">(Mar 02 2021 at 16:41)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228441502">said</a>:</p>
<blockquote>
<p>what's still open is whether <code>derive(PartialEq, Eq)</code> should be enough</p>
</blockquote>
<p>say a bit more on this</p>



<a name="228441692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441692">(Mar 02 2021 at 16:41)</a>:</h4>
<p>right now</p>



<a name="228441713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441713">(Mar 02 2021 at 16:41)</a>:</h4>
<p>const parameter types must be structural match</p>



<a name="228441853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441853">(Mar 02 2021 at 16:42)</a>:</h4>
<p>which pretty much means that their partial eq implementation agrees with comparing the value of all fields, looking into references</p>



<a name="228441903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441903">(Mar 02 2021 at 16:42)</a>:</h4>
<p>this is related to constants in match too</p>



<a name="228441908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441908">(Mar 02 2021 at 16:42)</a>:</h4>
<p>which is how we check equality inside of the type system</p>



<a name="228441934"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441934" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441934">(Mar 02 2021 at 16:42)</a>:</h4>
<p>I think I saw a thread somewhere about structural match + constants in match</p>



<a name="228441957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228441957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228441957">(Mar 02 2021 at 16:43)</a>:</h4>
<p>i meant to bookmark it because it seemed relevent to this but forgot .-.</p>



<a name="228442118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442118">(Mar 02 2021 at 16:44)</a>:</h4>
<p>so the following is not allowed</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">enum</span> <span class="nc">Foo</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">A</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="n">B</span><span class="p">,</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
<span class="k">fn</span> <span class="nf">foo</span><span class="o">&lt;</span><span class="k">const</span><span class="w"> </span><span class="n">N</span>: <span class="nc">Foo</span><span class="o">&gt;</span><span class="p">()</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>
</code></pre></div>



<a name="228442175"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442175" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442175">(Mar 02 2021 at 16:44)</a>:</h4>
<p>as the library could later add a <code>PartialEq</code> impl which disagrees with what the type system is doing</p>



<a name="228442194"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442194" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442194">(Mar 02 2021 at 16:44)</a>:</h4>
<p>I don't see const generics working without opting-in for user defined types. Otherwise modifications that make a type no longer const generics compatible are silent, and might affect downstream users without a library author being aware.</p>



<a name="228442227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442227">(Mar 02 2021 at 16:44)</a>:</h4>
<p>(ah found the thread i was talking about <a href="https://github.com/rust-lang/rust/issues/74446">https://github.com/rust-lang/rust/issues/74446</a> not sure how relevent it actually is)</p>



<a name="228442307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442307">(Mar 02 2021 at 16:45)</a>:</h4>
<p>another option is (ab)using visibility for this</p>



<a name="228442338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442338">(Mar 02 2021 at 16:45)</a>:</h4>
<p>adding a new trait feels a bit heavy handed to me</p>



<a name="228442438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442438">(Mar 02 2021 at 16:46)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">const</span><span class="w"> </span><span class="k">enum</span> <span class="nc">Foo</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">  </span><span class="n">A</span><span class="p">,</span><span class="w"></span>
<span class="w">  </span><span class="n">B</span><span class="p">,</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>
<p>would it have to be a trait?</p>



<a name="228442487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442487">(Mar 02 2021 at 16:46)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228442307">said</a>:</p>
<blockquote>
<p>another option is (ab)using visibility for this</p>
</blockquote>
<p>Do you mean only making public fields count for equality of consts?</p>



<a name="228442505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442505">(Mar 02 2021 at 16:46)</a>:</h4>
<p>so allowing a type as a const param type if it both uses <code>derive(PartialEq, Eq)</code> and only has visible fields</p>



<a name="228442540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442540">(Mar 02 2021 at 16:46)</a>:</h4>
<p>only allowing consts to be used if they have only public fields</p>



<a name="228442605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442605">(Mar 02 2021 at 16:46)</a>:</h4>
<p>because then you can't change them in any way without already being breaking</p>



<a name="228442664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442664">(Mar 02 2021 at 16:47)</a>:</h4>
<p>Adding a function pointer as a public field isn't breaking, though?</p>



<a name="228442697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442697">(Mar 02 2021 at 16:47)</a>:</h4>
<p>it is?</p>



<a name="228442742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442742">(Mar 02 2021 at 16:47)</a>:</h4>
<p>if you have</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
<span class="w">    </span><span class="n">Struct</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">field_a</span>: <span class="mi">3</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="228442761"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442761" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442761">(Mar 02 2021 at 16:47)</a>:</h4>
<p>it could break pattern matching if the struct isn't #[non_exhaustive] I think?</p>



<a name="228442763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442763">(Mar 02 2021 at 16:48)</a>:</h4>
<p>you can't add a new field to <code>Struct</code> without breaking that code</p>



<a name="228442818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442818">(Mar 02 2021 at 16:48)</a>:</h4>
<p>oh yeah that too</p>



<a name="228442828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442828">(Mar 02 2021 at 16:48)</a>:</h4>
<p>way simpler</p>



<a name="228442863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442863">(Mar 02 2021 at 16:48)</a>:</h4>
<p><span class="user-mention silent" data-user-id="326176">Boxy</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228442761">said</a>:</p>
<blockquote>
<p>it could break pattern matching if the struct isn't #[non_exhaustive] I think?</p>
</blockquote>
<p><code>#[non_exhaustive]</code> structs/enums probably should also be excluded</p>



<a name="228442892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442892">(Mar 02 2021 at 16:48)</a>:</h4>
<p>but maybe having a <code>StructuralMatch</code> trait is the right choice</p>



<a name="228442897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442897">(Mar 02 2021 at 16:48)</a>:</h4>
<p>idk</p>



<a name="228442919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442919">(Mar 02 2021 at 16:48)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228442742">said</a>:</p>
<blockquote>
<p>if you have</p>
<p><div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
<span class="w">    </span><span class="n">Struct</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">field_a</span>: <span class="mi">3</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div><br>
</p>
</blockquote>
<p>Oh, of course <span aria-label="face palm" class="emoji emoji-1f926" role="img" title="face palm">:face_palm:</span></p>



<a name="228442954"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228442954" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228442954">(Mar 02 2021 at 16:49)</a>:</h4>
<p><code>#[Derive(Eq, PartialEq]</code> + <code>const</code> behind the type definition like how we have <code>const fn</code> ?</p>



<a name="228443023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443023">(Mar 02 2021 at 16:49)</a>:</h4>
<p>i don't think we should add a new keyword/meaning to an old keyword for this.</p>



<a name="228443050"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443050" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443050">(Mar 02 2021 at 16:49)</a>:</h4>
<p>don't think that this has a big advantage over using a new <code>trait</code></p>



<a name="228443068"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443068" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443068">(Mar 02 2021 at 16:49)</a>:</h4>
<p>i'm not sure I'd think of it as a new meaning but thats fine ^^</p>



<a name="228443198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443198">(Mar 02 2021 at 16:50)</a>:</h4>
<p>actually mmm yeah</p>



<a name="228443238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443238">(Mar 02 2021 at 16:50)</a>:</h4>
<p>forget my idea xd</p>



<a name="228443337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443337">(Mar 02 2021 at 16:51)</a>:</h4>
<p>so uh, just <em>some</em> way to opt-in is what you're thinking?</p>



<a name="228443371"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443371" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443371">(Mar 02 2021 at 16:51)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228442742">said</a>:</p>
<blockquote>
<p>if you have</p>
<p><div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span><span class="p">[</span><span class="w"></span>
<span class="w">    </span><span class="n">Struct</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">field_a</span>: <span class="mi">3</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div><br>
</p>
</blockquote>
<p>If <code>Struct</code> is public, but it has non-public fields, you can't construct it like this, which I think means you can add a public field without it being a breaking change?</p>



<a name="228443400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443400">(Mar 02 2021 at 16:51)</a>:</h4>
<p>jup</p>



<a name="228443514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443514">(Mar 02 2021 at 16:52)</a>:</h4>
<p>Right, so the requirement that every field is public to be used in CG would be important.</p>



<a name="228443608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443608">(Mar 02 2021 at 16:53)</a>:</h4>
<p>yes</p>



<a name="228443634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443634">(Mar 02 2021 at 16:53)</a>:</h4>
<p>I prefer explicit opt-in, which would allow us to give detailed error messages in edge cases, rather than accidentally opt-out, and not know immediately</p>



<a name="228443676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443676">(Mar 02 2021 at 16:53)</a>:</h4>
<p>I think rules like "fields must be public" are going to seen arcane to users.</p>



<a name="228443697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443697">(Mar 02 2021 at 16:53)</a>:</h4>
<p>and also the all public fields thing has the downside of</p>
<blockquote>
<p>require all fields to be public (disqualifies NonZeroT),</p>
</blockquote>



<a name="228443849"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443849" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443849">(Mar 02 2021 at 16:54)</a>:</h4>
<p>It's already common to <code>derive</code> several traits for a new type; adding one more seems reasonable.</p>



<a name="228443858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443858">(Mar 02 2021 at 16:54)</a>:</h4>
<p>true, so even if we had that implicit optin</p>



<a name="228443873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443873">(Mar 02 2021 at 16:54)</a>:</h4>
<p>we would still need to have another way to allow types to be used a const params</p>



<a name="228443926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228443926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228443926">(Mar 02 2021 at 16:55)</a>:</h4>
<p>i guess we should talk with <a class="stream" data-stream-id="146212" href="/#narrow/stream/146212-t-compiler.2Fconst-eval">#t-compiler/const-eval</a> about this to figure out something that works for them as well</p>



<a name="228444019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444019">(Mar 02 2021 at 16:55)</a>:</h4>
<p>Also, if we have a trait, we can do: <code>fn foo&lt;T: Constable, X: T&gt;</code>...</p>



<a name="228444154"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444154" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444154">(Mar 02 2021 at 16:56)</a>:</h4>
<p>Maybe we could technically do this before with <code>StructuralEq</code>, but this way seems more transparent to users.</p>



<a name="228444437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444437">(Mar 02 2021 at 16:58)</a>:</h4>
<p>do we have a list of the exact thing's that you guarantee by making a type: Constable</p>



<a name="228444469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444469">(Mar 02 2021 at 16:58)</a>:</h4>
<p>or is it literally just the same things as "whatever it means to be structural match"</p>



<a name="228444607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444607">(Mar 02 2021 at 16:59)</a>:</h4>
<p><span class="user-mention silent" data-user-id="326176">Boxy</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228444469">said</a>:</p>
<blockquote>
<p>or is it literally just the same things as "whatever it means to be structural match"</p>
</blockquote>
<p>I think it may be this, but then I also think there may be subtleties as regards what we allow in patterns vs what we allow in const generics. I'm not sure it's totally consistent for backwards compatibility reasons at the moment.</p>



<a name="228444672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444672">(Mar 02 2021 at 16:59)</a>:</h4>
<p>okay cool</p>



<a name="228444694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444694">(Mar 02 2021 at 17:00)</a>:</h4>
<p>I think we might need a discussion dedicated to figuring out structural match.</p>



<a name="228444772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444772">(Mar 02 2021 at 17:00)</a>:</h4>
<p>(I.e. a real-time version of that issue posted earlier.)</p>



<a name="228444828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228444828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228444828">(Mar 02 2021 at 17:00)</a>:</h4>
<p>this issue? <a href="https://github.com/rust-lang/rust/issues/74446">https://github.com/rust-lang/rust/issues/74446</a></p>



<a name="228445035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228445035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228445035">(Mar 02 2021 at 17:01)</a>:</h4>
<p>Regarding a couple of earlier comments:<br>
<span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228433212">said</a>:</p>
<blockquote>
<p>i guess the question is whether we do want to allow <code>struct Foo&lt;const N: usize, const M: usize = N&gt;</code></p>
</blockquote>
<p>I definitely think we want to allow this (assuming the implementation is not too much trouble).</p>
<blockquote>
<p>c like enums? seems quite helpful and should already work</p>
</blockquote>
<p>One thing to consider is complexity from the user's perspective: restrictions like this are going to seem arbitrary (even more so than just allowing integer types at the moment). I think whether we stabilise this depends on what time period we expect valtrees to be implemented in.</p>



<a name="228445556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228445556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228445556">(Mar 02 2021 at 17:04)</a>:</h4>
<p>By the way, the earlier thread for generic parameter ordering was <a href="#narrow/stream/260443-project-const-generics/topic/generic.20parameter.20ordering">https://rust-lang.zulipchat.com/#narrow/stream/260443-project-const-generics/topic/generic.20parameter.20ordering</a>.</p>



<a name="228445706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228445706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228445706">(Mar 02 2021 at 17:05)</a>:</h4>
<p><span class="user-mention silent" data-user-id="121053">varkor</span> <a href="#narrow/stream/260443-project-const-generics/topic/generic.20parameter.20ordering/near/221477708">said</a>:</p>
<blockquote>
<p>To clarify, I think the simplest design is: non-defaulted parameters, followed by defaulted parameters, such that each parameter can only refer to parameters that precede it.</p>
</blockquote>
<p>*excluding lifetime parameters, which are already permitted to refer to lifetimes coming later on in the argument list</p>



<a name="228445900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228445900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228445900">(Mar 02 2021 at 17:06)</a>:</h4>
<p>After landing <a href="https://github.com/rust-lang/rust/issues/75384">#75384</a>, I think we should go ahead and implement this change, and get it signed off by T-lang.</p>



<a name="228446669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228446669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228446669">(Mar 02 2021 at 17:09)</a>:</h4>
<blockquote>
<p>we should go ahead and implement this change</p>
</blockquote>
<p>do you mean stabilize? or what's "this change" here?</p>



<a name="228447115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228447115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228447115">(Mar 02 2021 at 17:11)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/75384">#75384</a> doesn't allow default type parameters and default const parameters in the same declaration yet, does it?</p>



<a name="228447666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228447666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228447666">(Mar 02 2021 at 17:14)</a>:</h4>
<p>i think it does, or well, it needs a test for that <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="228447700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228447700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228447700">(Mar 02 2021 at 17:15)</a>:</h4>
<p>if it doesn't it should be a bug i think</p>



<a name="228448503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228448503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228448503">(Mar 02 2021 at 17:19)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228434028">said</a>:</p>
<blockquote>
<blockquote>
<p>what hack is this?</p>
</blockquote>
<p>will answer that after the meeting cause it's a bit more complicated</p>
</blockquote>
<p>haven't forgot this, will  be back in ~30 min to talk about that</p>



<a name="228448531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228448531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228448531">(Mar 02 2021 at 17:19)</a>:</h4>
<p>:)</p>



<a name="228451393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228451393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228451393">(Mar 02 2021 at 17:34)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228447666">said</a>:</p>
<blockquote>
<p>i think it does, or well, it needs a test for that <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>
</blockquote>
<p>Okay, my memory was not helping me out, so I skimmed for tests and didn't see any <span aria-label="big smile" class="emoji emoji-1f604" role="img" title="big smile">:big_smile:</span></p>



<a name="228453471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228453471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> jknodt <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228453471">(Mar 02 2021 at 17:46)</a>:</h4>
<p>I'll add one sometime today</p>



<a name="228453891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228453891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228453891">(Mar 02 2021 at 17:48)</a>:</h4>
<p>We should test for various orderings (both that should work and that shouldn't), with regard to all of the various things that can go in generic parameter lists.</p>



<a name="228454019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454019">(Mar 02 2021 at 17:49)</a>:</h4>
<p><span class="user-mention" data-user-id="326176">@Boxy</span> are you there?</p>



<a name="228454059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454059">(Mar 02 2021 at 17:49)</a>:</h4>
<p>hewwo</p>



<a name="228454065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454065">(Mar 02 2021 at 17:49)</a>:</h4>
<p>exactly 30 min btw <span aria-label="tada" class="emoji emoji-1f389" role="img" title="tada">:tada:</span></p>



<a name="228454118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454118">(Mar 02 2021 at 17:49)</a>:</h4>
<p>30m is just long enough that if I was the best celeste player in the world I could have beaten the game in that time</p>



<a name="228454131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454131">(Mar 02 2021 at 17:49)</a>:</h4>
<p>alas I am not so, <em>closes celeste</em> xD</p>



<a name="228454161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454161">(Mar 02 2021 at 17:49)</a>:</h4>
<p>^^</p>



<a name="228454236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> varkor <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454236">(Mar 02 2021 at 17:50)</a>:</h4>
<p>(By the way, sorry for being late to today's meeting; I had a problem with the carbon monoxide detector that I needed to resolve.)</p>



<a name="228454307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454307">(Mar 02 2021 at 17:50)</a>:</h4>
<p>that sounds important :)</p>



<a name="228454308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454308">(Mar 02 2021 at 17:50)</a>:</h4>
<p>do you know that we currently don't supply the generic arguments to anonymous constants?</p>



<a name="228454352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454352">(Mar 02 2021 at 17:50)</a>:</h4>
<p>what's "currently" here</p>



<a name="228454383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454383">(Mar 02 2021 at 17:51)</a>:</h4>
<p>on the current nightly without feature flags</p>



<a name="228454481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454481">(Mar 02 2021 at 17:51)</a>:</h4>
<p>what anon consts do we permit on current nightly?</p>



<a name="228454501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454501">(Mar 02 2021 at 17:51)</a>:</h4>
<p>on stable this can cause an ICE, <code>fn foo&lt;T&gt;() -&gt; [u8; std::mem::size_of::&lt;*const T&gt;()]</code></p>



<a name="228454537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454537">(Mar 02 2021 at 17:51)</a>:</h4>
<p>on beta we now forbid this during name resolution</p>



<a name="228454633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454633">(Mar 02 2021 at 17:52)</a>:</h4>
<p><span class="user-mention silent" data-user-id="326176">Boxy</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228454481">said</a>:</p>
<blockquote>
<p>what anon consts do we permit on current nightly?</p>
</blockquote>
<p>either just a param, so <code>N</code> or <code>{ N }</code>, or arbitrary expressions which don't depend on generic parameters</p>



<a name="228454735"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454735" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454735">(Mar 02 2021 at 17:53)</a>:</h4>
<blockquote>
<p>either just a param, so <code>N</code> or <code>{ N }</code>,</p>
</blockquote>
<p>now, how do we support this if we don't actually supply the generic params to anonymous constants?</p>



<a name="228454742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454742">(Mar 02 2021 at 17:53)</a>:</h4>
<p>okay cool</p>



<a name="228454777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454777">(Mar 02 2021 at 17:53)</a>:</h4>
<p>this is where the hack comes in</p>



<a name="228454778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454778">(Mar 02 2021 at 17:53)</a>:</h4>
<p>oh no .-.</p>



<a name="228454858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228454858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228454858">(Mar 02 2021 at 17:53)</a>:</h4>
<p>when creating the <code>ty::Const</code> for an anonymous constant we use <code>ty::Const::from_anon_const</code></p>



<a name="228455008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455008">(Mar 02 2021 at 17:54)</a>:</h4>
<p>this has a special-case for <code>N</code> or <code>{ N }</code> where it returns <code>ConstKind::Param</code> directly instead of <code>ConstKind::Unevaluated</code></p>



<a name="228455145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455145">(Mar 02 2021 at 17:55)</a>:</h4>
<p>interesting</p>



<a name="228455180"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455180" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455180">(Mar 02 2021 at 17:55)</a>:</h4>
<p>that's kind of cursed~</p>



<a name="228455339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455339">(Mar 02 2021 at 17:56)</a>:</h4>
<p>w/ const_evaluatable_checked are we going to undo that and just have them be ConstKind::Unevaluated?</p>



<a name="228455358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455358">(Mar 02 2021 at 17:56)</a>:</h4>
<p>no, that's needed. See the error message for</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="cp">#![feature(const_generics)]</span><span class="w"></span>

<span class="k">trait</span><span class="w"> </span><span class="n">Foo</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">impl</span><span class="o">&lt;</span><span class="k">const</span><span class="w"> </span><span class="n">N</span>: <span class="kt">usize</span><span class="o">&gt;</span><span class="w"> </span><span class="n">Foo</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">[</span><span class="kt">u8</span><span class="p">;</span><span class="w"> </span><span class="p">{{</span><span class="w"> </span><span class="n">N</span><span class="w"> </span><span class="p">}}]</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>
</code></pre></div>



<a name="228455378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455378">(Mar 02 2021 at 17:56)</a>:</h4>
<p><a href="https://play.rust-lang.org/?version=nightly&amp;mode=debug&amp;edition=2018&amp;gist=aa6d7fef2a912ecf5e87b6bde5542821">https://play.rust-lang.org/?version=nightly&amp;mode=debug&amp;edition=2018&amp;gist=aa6d7fef2a912ecf5e87b6bde5542821</a></p>



<a name="228455629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455629">(Mar 02 2021 at 17:58)</a>:</h4>
<div class="codehilite"><pre><span></span><code>  = note: expressions using a const parameter must map each value to a distinct output value
  = note: proving the result of expressions other than the parameter are unique is not supported
</code></pre></div>



<a name="228455648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455648">(Mar 02 2021 at 17:58)</a>:</h4>
<p>now these are two notes I do not remotely understand <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="228455719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455719">(Mar 02 2021 at 17:59)</a>:</h4>
<p>so an impl has to be unique for each possible type trait combination</p>



<a name="228455733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228455733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228455733">(Mar 02 2021 at 17:59)</a>:</h4>
<p>an example:</p>



<a name="228456005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456005">(Mar 02 2021 at 18:00)</a>:</h4>
<p>ohh I did not even notice this was an impl not a fn</p>



<a name="228456008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456008">(Mar 02 2021 at 18:00)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">trait</span><span class="w"> </span><span class="n">Foo</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span>-&gt; <span class="kt">isize</span> <span class="p">{}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">impl</span><span class="o">&lt;</span><span class="k">const</span><span class="w"> </span><span class="n">N</span>: <span class="kt">isize</span><span class="o">&gt;</span><span class="w"> </span><span class="n">Foo</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">[</span><span class="kt">u8</span><span class="p">;</span><span class="w"> </span><span class="n">N</span><span class="p">.</span><span class="n">unsigned_abs</span><span class="p">()]</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span>-&gt; <span class="kt">isize</span> <span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="n">N</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="228456060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456060">(Mar 02 2021 at 18:00)</a>:</h4>
<p>okay the notes make sense now that I noticed that it was an <code>impl</code> not a <code>fn</code> &gt;_&gt;</p>



<a name="228456241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456241">(Mar 02 2021 at 18:02)</a>:</h4>
<p>so, back to the hack:</p>



<a name="228456393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456393">(Mar 02 2021 at 18:02)</a>:</h4>
<p>the only way for an anon const to use params is if <code>from_anon_const</code> returns <code>ty::ConstKind::Param</code></p>



<a name="228456480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456480">(Mar 02 2021 at 18:03)</a>:</h4>
<p>and <code>Param</code> never actually needs to look at the <code>IdentitySubsts</code> for itself</p>



<a name="228456537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456537">(Mar 02 2021 at 18:03)</a>:</h4>
<p>so as long as we don't try to somehow substs the param with its own identity substitutions</p>



<a name="228456549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456549">(Mar 02 2021 at 18:03)</a>:</h4>
<p>everything's fine</p>



<a name="228456905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456905">(Mar 02 2021 at 18:05)</a>:</h4>
<p>when implementing this there was one concerning place which is <a href="https://doc.rust-lang.org/nightly/nightly-rustc/src/rustc_middle/mir/interpret/queries.rs.html#13-23">https://doc.rust-lang.org/nightly/nightly-rustc/src/rustc_middle/mir/interpret/queries.rs.html#13-23</a></p>



<a name="228456906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228456906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228456906">(Mar 02 2021 at 18:05)</a>:</h4>
<p>so</p>



<a name="228457003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457003">(Mar 02 2021 at 18:06)</a>:</h4>
<p>which must not get called for any constants using this hack</p>



<a name="228457024"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457024" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457024">(Mar 02 2021 at 18:06)</a>:</h4>
<p>as it always tries to evaluate them</p>



<a name="228457055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457055">(Mar 02 2021 at 18:06)</a>:</h4>
<p>even if they would just be <code>ConstKind::Param</code></p>



<a name="228457116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457116">(Mar 02 2021 at 18:06)</a>:</h4>
<p>right, that's unrelated to the hack though right? you just cant evaluate them because they're generic</p>



<a name="228457195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457195">(Mar 02 2021 at 18:07)</a>:</h4>
<p>no, trying to evaluate them would cause an ICE</p>



<a name="228457228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457228">(Mar 02 2021 at 18:07)</a>:</h4>
<p>because <code>InternalSubsts::identity_for_item(self, def_id);</code> just returns <code>&amp;[]</code></p>



<a name="228457243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457243">(Mar 02 2021 at 18:07)</a>:</h4>
<p>ah</p>



<a name="228457263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457263">(Mar 02 2021 at 18:07)</a>:</h4>
<p>this is the whole "empty substs causes ICEs" thing?</p>



<a name="228457270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457270">(Mar 02 2021 at 18:07)</a>:</h4>
<p>and when const eval then encounters the param it tries to substitute</p>



<a name="228457331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457331">(Mar 02 2021 at 18:08)</a>:</h4>
<p>yeah</p>



<a name="228457364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457364">(Mar 02 2021 at 18:08)</a>:</h4>
<p>that still feels weird to me <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="228457381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457381">(Mar 02 2021 at 18:08)</a>:</h4>
<p>it is</p>



<a name="228457426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457426">(Mar 02 2021 at 18:08)</a>:</h4>
<p>and the identity substs for this anon const is nothing because we dont give the anon consts any generics?</p>



<a name="228457456"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457456" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457456">(Mar 02 2021 at 18:08)</a>:</h4>
<p><code>min_const_generics</code> is an - incredibly well working - bodge</p>



<a name="228457491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457491">(Mar 02 2021 at 18:09)</a>:</h4>
<p>okay well this is very cursed i love it</p>



<a name="228457495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457495">(Mar 02 2021 at 18:09)</a>:</h4>
<p>uwu</p>



<a name="228457548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457548">(Mar 02 2021 at 18:09)</a>:</h4>
<p>so with uh</p>



<a name="228457554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457554">(Mar 02 2021 at 18:09)</a>:</h4>
<p>feature(const_generics)</p>



<a name="228457562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457562">(Mar 02 2021 at 18:09)</a>:</h4>
<p>we <em>do</em> give anon consts generics?</p>



<a name="228457580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lcnr <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457580">(Mar 02 2021 at 18:09)</a>:</h4>
<p>yes</p>



<a name="228457825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457825">(Mar 02 2021 at 18:11)</a>:</h4>
<p>I dont understand why we still need the hack for feature(const_generics)</p>



<a name="228457858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457858">(Mar 02 2021 at 18:11)</a>:</h4>
<p>would we return a ConstKind::Unevaluated for N</p>



<a name="228457880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457880">(Mar 02 2021 at 18:11)</a>:</h4>
<p>and we just bail there at trying to prove that each input maps to a distinct output?</p>



<a name="228457955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228457955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228457955">(Mar 02 2021 at 18:12)</a>:</h4>
<blockquote>
<p>proving the result of expressions other than the parameter are unique is not supported</p>
</blockquote>



<a name="228458428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228458428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228458428">(Mar 02 2021 at 18:15)</a>:</h4>
<p>I think I see how this hack would help us with <code>fn foo&lt;const N: usize, const M: usize = N&gt;() {}</code> too :)</p>



<a name="228458525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228458525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228458525">(Mar 02 2021 at 18:16)</a>:</h4>
<p>it would <em>not</em> help with <code>fn foo&lt;const N: usize, const M: usize  = {{N}}&gt;() {}</code> right?</p>



<a name="228458574"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228458574" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228458574">(Mar 02 2021 at 18:16)</a>:</h4>
<p>if i understood this correctly xD</p>



<a name="228458598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228458598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228458598">(Mar 02 2021 at 18:16)</a>:</h4>
<p>okay cool</p>



<a name="228458617"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228458617" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228458617">(Mar 02 2021 at 18:16)</a>:</h4>
<p>definitely a hack then <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="228458906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228458906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228458906">(Mar 02 2021 at 18:18)</a>:</h4>
<p><span class="user-mention silent" data-user-id="216206">lcnr</span> <a href="#narrow/stream/260443-project-const-generics/topic/meeting.202021-03-02/near/228457228">said</a>:</p>
<blockquote>
<p>because <code>InternalSubsts::identity_for_item(self, def_id);</code> just returns <code>&amp;[]</code></p>
</blockquote>
<p>in the case of feature(const_generics) the anon const would have generics supplied so this wouldn't be empty right?</p>



<a name="228459058"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260443-project-const-generics/topic/meeting%202021-03-02/near/228459058" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Boxy [she/her] <a href="https://rust-lang.github.io/zulip_archive/stream/260443-project-const-generics/topic/meeting.202021-03-02.html#228459058">(Mar 02 2021 at 18:19)</a>:</h4>
<p>cool :)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>